package cn.com.yiqi.wsc.dao.shop;

import cn.com.yiqi.wsc.Ro.ItemDetailVO;
import cn.com.yiqi.wsc.Ro.ItemInfoVO;
import cn.com.yiqi.wsc.entity.shop.Item;
import cn.com.yiqi.wsc.entity.shop.ItemExample;

import java.math.BigDecimal;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface ItemMapper {
    int countByExample(ItemExample example);

    int deleteByPrimaryKey(Integer id);

    int insertSelective(Item record);

    List<Item> selectByExample(ItemExample example);

    Item selectByPrimaryKey(Integer id);

    Integer selectBoughtCount(@Param("customerId")Integer customerId, @Param("itemId")Integer itemId);

    int updateByPrimaryKeySelective(Item record);

    ItemDetailVO findItemDetailByItemId(@Param("url") String url, @Param("id") Integer itemId,@Param("userId") Integer userId);

    List<ItemInfoVO> findItemList(@Param("url") String url,@Param("subjectId") Integer id);

    Integer countBySubject(Integer id);

    void addLike(Integer id);

    void decreaseLike(Integer id);

    List<ItemInfoVO> selectItemIfoByKey(@Param("url") String url,@Param("key") String key, @Param("order") String order,@Param("type") Integer type);

    Integer countItemIfoByKey(String key);

    Integer countAdItem();

    List<ItemInfoVO> findAdItem(@Param("url") String url,@Param("type") Integer type);

    List<ItemInfoVO> selectLikeItemInfo(@Param("url") String url,@Param("userId") Integer userId);

    List<ItemInfoVO> findItemInfo(@Param("url") String url,@Param("itemId") Integer itemId,@Param("type") Integer type,@Param("kind") Integer kind);

    Item findItemByOrderId(Integer orderId);

    //订单id查询分销总金额
    BigDecimal sumTotalByOrderId(Integer id);

    Integer sumHasBuy(@Param("itemId") Integer id, @Param("userId") Integer userId);

    //searchAd 点击数加1
    void addSearchAd(Integer activityId);

    List<ItemInfoVO> findPointItem(@Param("url") String s, @Param("itemId") Integer itemId);
}